The invention relates generally to aggregated switch sets also known as trunk switch clusters, which are connectable to one or more end device (edge devices) with each end device having a physical link to each switch of the switch set and more particularly to groups of switches which together form a single switching entity or single logical local area network (LAN) and which communicate with each other to coordinate communication with connected end devices.
In a method referred to as link aggregation, or trunking, a device combines a set of one or more physical links into one logical link, called and aggregate link or trunk. The set of links is connected to another device that also has aggregated those links into an Aggregate Link.
A number of companies have announced plans that allow one or, both ends of the aggregate link to consist of a cluster of one or more cooperating devices. The devices may be for example switches. These cooperating devices are referred herein as cooperating link aggregation member devices, aggregation member devices, cooperating devices or cluster members. The cooperating devices use a separate communication path, the Intra-Cluster Interconnect, to coordinate communication with the connected end devices.
U.S. Pat. No. 6,195,351 discloses a Logical Switch Set (LSS) comprising two or more switches that act as a single packet forwarding device with specific connection rules. The single packet forwarding device is a single logical unit. The LSS may be used as either a redundant switchet (RSS) or as a Load Sharing Switch Set (LSSS). The maxim throughput of the LSSS increase with each additional switch. A LSSS can only interconnect with the other devices via trunked links that contain at least one physical connection to each switch. The RSS may include a trunk link connection and a resilient link connection. U.S. Pat. No. 6,195,351 is hereby incorporated by reference.
U.S. Pat. No. 6,195,349 discloses a packet based high speed mesh which forms a trunk cluster. The trunk cluster is constructed with a set of loosely coupled switches, a configuration protocol, trunked network interfaces, and optionally a reachablilty protocol. The trunk cluster provides a Logical LAN service. Each switch in the trunk cluster provides a single xe2x80x9cshared LANxe2x80x9d by interconnecting two or more links. The edge devices attached to the links run a trunk configuration protocol. These attached edge devices view the trunked ports as if trunked ports are connected to a shared LAN with multiple other attached devices. U.S. Pat. No. 6,195,349 is hereby incorporated by reference.
U.S. Pat. No. 6,347,073 discloses a plurality of independent control lines used by I/O modules to determine which switch of a redundant switch set is the active or primary switch. Each line is driven by a different source. Each of these control lines are driven by one of a plurality of judges an each judge can read the other control lines which they are not driving. All the I/O modules can only read the control lines. Each judge makes a decision as to which switch should be the primary switch. Each decision is conveyed using the control lines. The I/O modules use these control lines to direct a multiplexer of the respective outside node to connect to the primary switch. A majority rules algorithm is used to always obtain the correct result in the face of a single error. U.S. Pat. No. 6,347,073 is hereby incorporated by reference
U.S. Pat. No. 6,058,136 discloses an arrangement of trunk clusters and a method for interconnecting trunk clusters wherein the interconnection method has no single point of failure, the bandwidth between trunk clusters is not limited by the throughput of a single switch, and faults are contained within each trunk cluster. A trunked interconnection structure is provided between trunk clusters. Each switch of a trunk cluster has a logical port connected to a trunked port. The trunked port or trunk port provides a physical connection to each trunk switch of another trunk cluster. Each trunk switch of the another trunk cluster has a logical port connected to a trunked port which in turn has physical connections to each switch of the first trunk cluster. The trunked interconnect isolates faults to a single trunk cluster and there is no single point of failure and the total throughput is not limited to any single switches capacity. This always provides a single loop free path from one trunk cluster to the other or others. Multiple trunk clusters may be interconnected using point-to-point connections. A high throughput campus interconnect trunk cluster can be used to connect each building data center trunk cluster.
With a cluster of devices at the end of an aggregate link, an Intra-Cluster Interconnect (ICI) may be provided to coordinate the switches or cluster devices. However, if only one ICI is provided, some serious problems can occur when the ICI fails. These problems are, but are not limited to:
1. The devices in the cluster often can""t determine if the ICI has failed or if devices in the cluster have failed. If the ICI has failed, but the devices are functioning, then the required failure recovery actions are often different, than if one of more of the devices has failed.
2. The overall functioning of the cluster can be degraded. The coordination functions are also used to optimize the throughput, of the cluster. Thus when the ICI is not available throughput is decreased.
It is an object of the invention to provide for up to as many communication paths between the cluster members (aggregation member devices) as there are aggregate links in a trunk switch cluster or aggregated switch set.
It is a further object of the invention to provide for many redundant paths through which the members of the cluster, the cluster devices or switches, can communicate, thereby greatly improving the reliability of the trunk switch cluster or aggregated switch set.
It is a further object of the invention to allow the cluster of devices to use the end device(s) i.e., the devices at the other side of the Aggregate Link to perform all or a critical part of the coordination between the cluster devices.
According to the invention, an aggregate link system is provided with cooperating link aggregation member devices (cluster members)defining a link aggregation. An end device (edge device) is provided. Network links connect the end device to each of the aggregation member devices. One or more of the network links define an aggregate link. A coordinating to system is provided for coordination between the devices in the link aggregation of cooperating devices. The coordinating system is defined by the end device and the network links. The coordinating system includes coordinating system features associated with the end device to determine a packet type received from the link aggregation. If the packet is one of predetermined packet types, the coordinating system either sends the packet back to the originating link aggregation member device or to the other link aggregation member devices.
The coordinating system preferably includes a link aggregation repeater process control parser/multiplexer (LARP control parser/multiplexer) connected to the links. The LARP control parser/multiplexer communicates in both directions with a link aggregation sublayer (LAG sublayer). The LAG sublayer maintains a link aggregation database (LAG DB) which stores information as to one of: which of the network links are a member of the aggregate link; and which the aggregate link and any other aggregate link is each network link a member of. A media access controller (MAC) client forms part of the end device. The LAG sublayer communicates in both directions with the MAC client.
The coordinating system further preferably includes a link aggregation repeater process (LAGRP) which reads from the LAG DB and communicates in both directions to the LARP control parser/multiplexer. The LARP control parser/multiplexer tests packets received by the end device to determine the type of packet and directs packets of a coordinating system type to the LAGRP and directs packets of another type to the LAG sublayer for ordinary processing. The LARP control parser/multiplexer forwards packets that are transmitted to the LARP control parser/multiplexer by the LAG sublayer or by the LAGRP to the MAC of the end device unchanged and untested.
According to another aspect of the invention, a process is provided for an aggregate link system. The process includes providing cooperating link aggregation member devices (cluster members) defining a link aggregation (trunk cluster), providing an end device, connecting the end device to each device in the link aggregation by a respective network link, one or more network link defining an aggregate link, and providing a coordinating system for coordinating between the devices in the link aggregation of cooperating devices. The coordinating system is defined by the end device and the network links. The coordinating system includes coordinating system processes steps which take place at the end device. The process steps include determining a packet type received from the link aggregation and if the packet is one of predetermined packet types, the coordinating system either sends the packet back to the originating link aggregation member device or to the other link aggregation member devices.
The coordinating system is preferably provided with a link aggregation repeater process control parser/multiplexer (LARP control parser/multiplexer) connected to each link. Each LARP control parser/multiplexer communicates in both directions with a link aggregation sublayer (LAG sublayer) of the end device. The LAG sublayer is used for maintaing a link aggregation database (LAG DB) which stores information as to the network links that are a member of an aggregate link and the aggregate link and any other aggregate link that each network link is a member of. The coordinating system is provided with a link aggregation repeater process (LAGRP) which reads from the LAG DB and communicates in both directions to the LARP control parser/multiplexer. The LARP control parser/multiplexer is used to test packets received by the end device to determine the type of packet and directing packets of a coordinating system type to the LAGRP and directing packets of another type to the LAG sublayer for ordinary processing.
The system and process of the invention can be used with an ICI connecting cooperating link aggregation member devices. This ICI can be used as the primary coordinating path for the coordinating system. With such an arrangement, the coordinating system can also include the coordinating system part defined by the end device and the network links. The system can go to this as an alternative or backup, in which case the end device provides the repeater function as discussed above. Also, the system of the invention can provide a detection function to determine if the connected end device is capable of providing the repeater function. In this way the system can be used with end devices that are not configured for taking an active part in the coordinating system.
The various features of novelty which characterize the invention are pointed out with particularity in the claims annexed to and forming a part of this disclosure. For a better understanding of the invention, its operating advantages and specific objects attained by its uses, reference is made to the accompanying drawings and descriptive matter in which a preferred embodiment of the invention is illustrated.